home *** CD-ROM | disk | FTP | other *** search
/ PLAYymate for OS/2 / Playmate for OS2.iso / p4os2008 / checkers.h < prev    next >
Text File  |  1990-09-01  |  4KB  |  154 lines

  1. /*--------------------------------------
  2.    CHECKERS.H header file, Version 0.40
  3.   --------------------------------------*/
  4.  
  5.           // Some common constants
  6.  
  7. #define BLACK                       0
  8. #define WHITE                       1
  9. #define NORM                        0
  10. #define KING                        1
  11.  
  12. #define LEVEL_SIMPLE                0
  13. #define LEVEL_BEGINNER              1
  14. #define LEVEL_INTERMEDIATE          2
  15. #define LEVEL_ADVANCED              3
  16.  
  17.           // Structure for representing board
  18.  
  19. typedef struct
  20.      {
  21.      ULONG ulBlack ;
  22.      ULONG ulWhite ;
  23.      ULONG ulKing ;
  24.      }
  25.      BOARD ;
  26.  
  27. typedef BOARD *PBOARD ;
  28.  
  29. #define CKR_BOARD_DEFINED
  30.  
  31.           // Structure for a new game
  32.  
  33. typedef struct
  34.      {
  35.      BOARD brd ;
  36.      HWND  hwndBlack ;
  37.      HWND  hwndWhite ;
  38.      HWND  hwndBoard ;
  39.      HWND  hwndJudge ;
  40.      HWND  hwndClient ;
  41.      SHORT sBottom ;
  42.      SHORT sLevel ;
  43.      }
  44.      NEWGAME ;
  45.  
  46. typedef NEWGAME *PNEWGAME ;
  47.  
  48. typedef struct
  49.      {
  50.      BOARD brd ;
  51.      SHORT sColor ;
  52.      SHORT sLevel ;
  53.      }
  54.      GAMEDLG ;
  55.  
  56. typedef GAMEDLG *PGAMEDLG ;
  57.  
  58. typedef struct
  59.      {
  60.      BOARD brd ;
  61.      SHORT sBottom ;
  62.      }
  63.      SETUPDLG ;
  64.  
  65. typedef SETUPDLG *PSETUPDLG ;
  66.  
  67.           // Resource ID
  68.  
  69. #define ID_RESOURCE                 1
  70.  
  71.           // Pointer IDs
  72.  
  73. #define IDP_UPHAND                  2
  74. #define IDP_DNHAND                  3
  75.  
  76.           // Menu IDs
  77.  
  78. #define IDM_NEWGAME                 1
  79. #define IDM_ABOUT                   2
  80.  
  81. #define IDM_COLOR_BACKGROUND       11
  82. #define IDM_COLOR_BLACK_SQUARE     12
  83. #define IDM_COLOR_WHITE_SQUARE     13
  84. #define IDM_COLOR_BLACK_PIECE      14
  85. #define IDM_COLOR_WHITE_PIECE      15
  86. #define IDM_COLOR_STANDARD         16
  87.  
  88.           // Dialog Box ID's
  89.  
  90. #define IDD_NEWGAME_DLG             1
  91. #define IDD_ABOUT_DLG               2
  92. #define IDD_COLOR_DLG               3
  93. #define IDD_SETUP_DLG               4
  94.  
  95. #define IDD_HEADING                10
  96. #define IDD_COLOR                  20
  97.  
  98. #define IDD_BLACK                 100
  99. #define IDD_WHITE                 101
  100.  
  101. #define IDD_SIMPLE                110
  102. #define IDD_BEGINNER              111
  103. #define IDD_INTERMEDIATE          112
  104. #define IDD_ADVANCED              113
  105.  
  106. #define IDD_SETUP                 120
  107. #define IDD_BOTTOM                121
  108. #define IDD_TOP                   122
  109.  
  110.           // User-Defined Messages
  111.  
  112.                // Messages from Client to Judge to Board and Players
  113.  
  114. #define WM_NEW_GAME                     (WM_USER + 1)
  115.  
  116.                // Messages from Client to Board
  117.  
  118. #define WM_TELL_BOARD_COLOR_DIALOG      (WM_USER + 10)
  119. #define WM_TELL_BOARD_STANDARD_COLORS   (WM_USER + 11)
  120.  
  121.                // Messages from Judge to Players
  122.  
  123. #define WM_JUDGE_SAYS_MAKE_MOVE         (WM_USER + 20)
  124.  
  125.                // Messages from Judge to Board
  126.  
  127. #define WM_JUDGE_SAYS_SHOW_HOURGLASS    (WM_USER + 30)
  128. #define WM_JUDGE_SAYS_SHOW_ARROW        (WM_USER + 31)
  129. #define WM_JUDGE_SAYS_MOVE_PIECE        (WM_USER + 32)
  130. #define WM_JUDGE_SAYS_KING_PIECE        (WM_USER + 33)
  131. #define WM_JUDGE_SAYS_REMOVE_PIECE      (WM_USER + 34)
  132.  
  133.                // Messages from Board to Judge
  134.  
  135. #define WM_QUERY_JUDGE_CURRENT_BOARD    (WM_USER + 40)
  136. #define WM_QUERY_JUDGE_PICKUP_PIECE     (WM_USER + 41)
  137. #define WM_QUERY_JUDGE_IF_KING          (WM_USER + 42)
  138. #define WM_QUERY_JUDGE_PUTDOWN_PIECE    (WM_USER + 43)
  139. #define WM_QUERY_JUDGE_CONTINUE_MOVE    (WM_USER + 44)
  140. #define WM_TELL_JUDGE_BOARD_MOVE_ENDED  (WM_USER + 45)
  141. #define WM_TELL_JUDGE_PIECE_MOVED       (WM_USER + 46)
  142.  
  143.                // Messages from Strat to Judge
  144.  
  145. #define WM_TELL_JUDGE_STRAT_MOVE_ENDED  (WM_USER + 50)
  146.  
  147.                // Messages from Judge to Client
  148.  
  149. #define WM_TELL_CLIENT_GAME_OVER        (WM_USER + 60)
  150.  
  151.                // Messages from Strat to Client
  152.  
  153. #define WM_TELL_CLIENT_NO_MEMORY        (WM_USER + 70)
  154.